package com.hoperun.product.net;

import org.json.JSONException;
import org.json.JSONObject;

import android.os.Handler;
import android.os.Message;
import android.util.Log;

import com.hoperun.product.common.Setting;

public class IServiceImpl {

	public static final String TAG = "IServiceImpl";

	public static final int LOGIN_R = 0;

	public static final int GETINPUT_R = 1;

	public static final int SAVEINPUTLIST_R = 2;

	public static final int SELECTDICT = 3;

	public static final int GETQUERYLIST_R = 4;

	public static final int UPDATEQUERYLIST_R = 5;

	public static final int GET_INPUT_LIST = 6;

	public static final int DELETE_INPUT_PRODUCT = 7;
	public static final int GET_NEW_VERSION = 8;
	public static final int GET_TIME = 9;

	// 在填报修补数的时候，前端根据输入的修补数，自动累加，无需再次调用）

	// public void loginMethod(String )

//	public static String callRequest(int requestType, Object inputInfo) {
//
//		String result = "";
//		switch (requestType) {
//		case Login_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "30");
//			break;
//		case GETCPLX_R:
//			result = WebServiceAccessUtils.commonMainListQuery(inputInfo);
//			break;
//		case GETXBLX_R:
//			result = WebServiceAccessUtils.commonMainListQuery(inputInfo);
//			break;
//		case GETGX_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "30");
//			break;
//		case GETTM_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "230");
//			break;
//		case JYCPLR_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "231");
//			break;
//		case JYTMCX_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "230");
//			break;
//		case TJDBSB_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "232");
//			break;
//		case XBTM_R:
//			result = WebServiceAccessUtils.commonMainListQuery(inputInfo);
//			break;
//		case XBLR_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "217");
//			break;
//		case JYCX_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "218");
//			break;
//		case JYCXMX_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "219");
//			break;
//		case GETXBS_R:
//			result = WebServiceAccessUtils.callWebMethod(inputInfo, "234");
//			break;
//		default:
//			break;
//		}
//		return result;
//	}

	public static void callWebMethod(final Handler mHandler,
			final int requestType, final Object inputInfo,final String methodName) {
		new Thread() {
			@Override
			public void run() {

				//String jsonStr = callRequest(requestType, inputInfo);

				String jsonStr =WebServiceAccessUtils.call(methodName,inputInfo.toString() );

				Message msg = Message.obtain();
				msg.what = requestType;
				msg.arg1 = 1;
				try {
					JSONObject json = new JSONObject(jsonStr);

					String falg = json.optString(Setting.OPT_FLAG);
					String info = json.optString("MSG_INFO");

					Log.d(TAG, "OnWebSercieRequest **** info=" + info);

					if (falg.equals("0")) {
						msg.arg1 = 0;
						if (info != null && info instanceof String
								&& info.startsWith("SUCCESS:")) {
							info = info.substring("SUCCESS:".length(),
									info.length());
						}
					} else {
						msg.arg1 = 1;
					}
					if (info != null) {
						msg.obj = info;
					}

					if (info != null && info instanceof String
							&& info.contains("FAILED")) {
						msg.arg1 = 1;
						msg.obj = info;
					}
				} catch (JSONException e) {
					msg.arg1 = 1;
					msg.obj = e.toString();
				}
				mHandler.sendMessage(msg);
			}
		}.start();
	}

	/**
	 * 解析登录
	 * 
	 * @param str
	 * @return
	 */
//	public static LoginEntity parseLogin(String str) {
//		LoginEntity entity = new LoginEntity();
//		if (str != null && str instanceof String) {
//			JSONArray jArr;
//
//			try {
//				jArr = new JSONArray(str);
//
//				if (jArr != null && jArr.length() > 0) {
//					JSONObject jObj = jArr.optJSONObject(0);
//
//					entity.setBMID(jObj.optString("BMID"));
//					entity.setBMMC(jObj.optString("BMMC"));
//					entity.setCJ(jObj.optString("CJ"));
//					entity.setCJID(jObj.optString("CJID"));
//					entity.setGC(jObj.optString("GC"));
//					entity.setGCID(jObj.optString("GCID"));
//					entity.setRQ(jObj.optString("RQ"));
//					entity.setSCCJ(jObj.optString("SCCJ"));
//					entity.setSCCJID(jObj.optString("SCCJID"));
//					entity.setSCJYID(jObj.optString("SCJYID"));
//					entity.setSCZB(jObj.optString("SCZB"));
//					entity.setSCZBID(jObj.optString("SCZBID"));
//					entity.setYCBJ(jObj.optString("YCBJ"));
//					entity.setZB(jObj.optString("ZB"));
//					entity.setZBID(jObj.optString("ZBID"));
//				}
//
//			} catch (JSONException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
//		}
//		return entity;
//	}

//	// 解析获取次品类型及修补类型
//	public static List<CPLXEntity> parseCPXBLX(String str) {
//		List<CPLXEntity> mList = new ArrayList<CPLXEntity>();
//
//		if (str != null && str instanceof String) {
//			JSONArray jArr;
//			try {
//				jArr = new JSONArray(str);
//				if (jArr != null) {
//					for (int i = 0; i < jArr.length(); i++) {
//						JSONObject jObj = jArr.optJSONObject(i);
//
//						CPLXEntity entity = new CPLXEntity();
//						entity.setId(jObj.optString("SJZDMXID"));
//						entity.setName_zh(jObj.optString("KEY"));
//						entity.setName_vi(jObj.optString("VIETNAMESE"));
//
//						mList.add(entity);
//					}
//				}
//			} catch (JSONException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
//		}
//		return mList;
//	}

	// 解析工序号
//	public static GXHEntity parseGXH(Object str) {
//		GXHEntity entity = null;
//
//		if (str != null && str instanceof String) {
//			entity = new GXHEntity();
//			JSONObject jObj;
//			try {
//				jObj = new JSONObject((String) str);
//
//				entity.setGXH(jObj.optString("GXH"));
//				entity.setGXMC(jObj.optString("GXMC"));
//				;
//			} catch (JSONException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//				entity = null;
//			}
//		}
//		return entity;
//	}
//
//	/**
//	 * 解析条码接口
//	 * 
//	 * @param str
//	 * @return
//	 */
//	public static TMEntity parseTM(Object str) {
//		TMEntity entity = null;
//
//		if (str != null && str instanceof String) {
//			entity = new TMEntity();
//			JSONObject jObj;
//			try {
//				jObj = new JSONObject((String) str);
//
//				entity.setCM(jObj.optString("CM"));
//				entity.setCPS(jObj.optString("CPS"));
//				entity.setCXCPS(jObj.optString("CXCPS"));
//				entity.setCXSL(jObj.optString("CXSL"));
//				entity.setDBH(jObj.optString("DBH"));
//				entity.setDBSBS(jObj.optString("DBSBS"));
//				entity.setHH(jObj.optString("HH"));
//				entity.setHYH(jObj.optString("HYH"));
//				entity.setJS(jObj.optString("JS"));
//				entity.setPO(jObj.optString("PO"));
//				entity.setRETFLAG(jObj.optString("RETFLAG"));
//				entity.setSCJYMXID(jObj.optString("SCJYMXID"));
//				entity.setYS(jObj.optString("YS"));
//				entity.setZCPS(jObj.optString("ZCPS"));
//				entity.setZJS(jObj.optString("ZJS"));
//
//			} catch (JSONException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//				entity = null;
//			}
//		}
//		return entity;
//	}
//
//	/**
//	 * 解析修改条码扫描
//	 * 
//	 * @param str
//	 * @return
//	 */
//	public static XBTmEntity parseXBTm(String str) {
//		XBTmEntity entity = new XBTmEntity();
//		if (str != null && str instanceof String) {
//			JSONArray jArr;
//
//			try {
//				jArr = new JSONArray(str);
//
//				if (jArr != null && jArr.length() > 0) {
//					JSONObject jObj = jArr.optJSONObject(0);
//
//					entity.setHH(jObj.optString("HH"));
//					entity.setHYH(jObj.optString("HYH"));
//					entity.setTM(jObj.optString("TM"));
//				}
//
//			} catch (JSONException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
//		}
//		return entity;
//	}
//
//	public static List<CXEntity> parseHYH(String str) {
//		List<CXEntity> lists = new ArrayList<CXEntity>();
//
//		if (str != null && str instanceof String) {
//			JSONArray jArr;
//
//			try {
//				jArr = new JSONArray(str);
//
//				if (jArr != null) {
//
//					for (int i = 0; i < jArr.length(); i++) {
//						CXEntity entity = new CXEntity();
//						JSONObject jObj = jArr.optJSONObject(i);
//
//						// "BW": "前左",
//						// "HYH": "PI04407-A01B",
//						// "SC": "浅麻灰$",
//						// "CPS": 0,
//						// "GXMC": "前左",
//						// "GXH": "02",
//						// "DBH": "L13520160312122",
//						// "WSJS": 9,
//						// "JS": 10
//						entity.setCPS(jObj.optString("CPS"));
//						entity.setDBH(jObj.optString("DBH"));
//						entity.setBW(jObj.optString("BW"));
//						entity.setGXH(jObj.optString("GXH"));
//						entity.setGXMC(jObj.optString("GXMC"));
//						entity.setHH(jObj.optString("HH"));
//						entity.setHYH(jObj.optString("HYH"));
//						entity.setJS(jObj.optString("JS"));
//						entity.setSH(jObj.optString("SC"));
//						entity.setWSJS(jObj.optString("WSJS"));
//
//						lists.add(entity);
//					}
//				}
//			} catch (JSONException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
//		}
//		return lists;
//	}
//
//	/**
//	 * 未扫描统计
//	 * 
//	 * @param str
//	 * @return
//	 */
//	public static List<CXWSMEntity> parseWSMEntity(String str) {
//		List<CXWSMEntity> lists = new ArrayList<CXWSMEntity>();
//
//		if (str != null && str instanceof String) {
//			JSONArray jArr;
//			try {
//				jArr = new JSONArray(str);
//				if (jArr != null) {
//
//					for (int i = 0; i < jArr.length(); i++) {
//						CXWSMEntity entity = new CXWSMEntity();
//						JSONObject jObj = jArr.optJSONObject(i);
//
//						entity.setDBH(jObj.optString("DBH"));
//						;
//						entity.setJS(jObj.optString("JS"));
//						entity.setTM(jObj.optString("TM"));
//						entity.setZH(jObj.optString("ZH"));
//
//						lists.add(entity);
//					}
//				}
//			} catch (JSONException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
//		}
//		return lists;
//	}
}
